package 刷题10月.每日一题0930;

import java.util.HashSet;
import java.util.List;
import java.util.Set;
// https://leetcode-cn.com/problems/destination-city/
public class 哈希1436旅行终点站1001 {
    class Solution {
        /*
        根据终点站的定义，终点站不会出现在 \textit{cityA}_icityA
      中，因为存在从 \textit{cityA}_icityA
      出发的线路，所以终点站只会出现在 \textit{cityB}_icityB
      中。据此，我们可以遍历 \textit{cityB}_icityB
     ，返回不在 \textit{cityA}_icityA
      中的城市，即为答案。
    代码实现时，可以先将所有 \textit{cityA}_icityA
      存于一哈希表中，然后遍历 \textit{cityB}_icityB
      并查询 \textit{cityB}_icityB
      是否在哈希表中。
        */
        public String destCity(List<List<String>> paths) {
            Set<String> citiesA = new HashSet<String>();
            for (List<String> path : paths) {
                citiesA.add(path.get(0));
            }
            for (List<String> path : paths) {
                if (!citiesA.contains(path.get(1))) {
                    return path.get(1);
                }
            }
            return "";
        }
    }

}
